FROM php:8.2-apache

# Instalando dependências do sistema e extensões do PHP
RUN apt-get update && apt-get install -y \
    iputils-ping \
    snmp \
    libsnmp-dev \
    libpq-dev \
    && docker-php-ext-install pdo pdo_pgsql sockets snmp \
    && apt-get clean && rm -rf /var/lib/apt/lists/* \
    && chmod u+s /usr/bin/ping

# Habilitar o mod_rewrite do Apache (caso precise futuramente)
RUN a2enmod rewrite

# Copiar todo o código-fonte para a pasta pública do Apache
COPY . /var/www/html/

# Registra versão da imagem (lida por update.sh --check e pelo painel)
ARG APP_VERSION=dev
RUN echo "$APP_VERSION" > /var/www/html/VERSION

RUN chown -R www-data:www-data /var/www/html/ \
    && mkdir -p /opt/monitorping \
    && chown www-data:www-data /opt/monitorping \
    && chmod 755 /opt/monitorping

COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh
RUN chmod +x /usr/local/bin/docker-entrypoint.sh

# Gera manifesto de integridade dos arquivos críticos (baked na imagem, root-only)
RUN sha256sum \
    /var/www/html/license.php \
    /var/www/html/includes/auth.php \
    /var/www/html/db.php \
    /var/www/html/config.php \
    /var/www/html/index.php \
    > /var/.mp_manifest \
    && chmod 444 /var/.mp_manifest \
    && chown root:root /var/.mp_manifest

ENTRYPOINT ["docker-entrypoint.sh"]
